A typical computer network consists of nodes (computers), a connecting medium (wired or wireless), and specialized network equipment like routers and hubs. In the case of the Internet, all these pieces working together allow one computer to send information to another computer that may be on the other side of the world. Switches are a fundamental part of most networks. They make it possible for several users to send information over a network at the same time without slowing each other down. Just like routers allow different networks to communicate with each other, switches allow different nodes of a network to communicate directly with each other in a smooth and efficient manner.
The use of stackable switches allows network administrators to build systems having multiple physical ports to various computing resources or workstations on the network. FIG. 1 illustrates a stack of switches that can be constructed by stacking switches 110a˜d. To enable the stackable capability of each switch, the switches 110a˜d are respectively equipped with stacking modules 112a˜d as depicted. The stacking module 112a of the switch 110a is connected to stacking module 112b of the switch 110b with link 120a, and the stacking module 112b of the switch 10b is connected to stacking module 112c of the switch 110c with link 120b. Likewise, link 120c connects the switches 110c and 110d. The benefits of stacking are throughput boost, downlink resources share, and easy management. The switch stack 100 delivers high-performance switch-to-switch connections, while conserving ports. Network administrators may manage the entire switch stack 100 as one virtual switch.
However, the entire switch stack 100 is disrupted in the case of a single link or single switch failure anywhere in the stack 100. Since the switch stack 100 is arranged as a simple chain, as shown in FIG. 1, without a redundant link, the rest of the switches cannot be stacked together until the network administrator manually solves the problems.
Therefore, what is needed is a way to automatically recover a switch stack in the case of switch or link failure, unencumbered by the limitations associated with the prior art.